package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateUserManagePageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateActiveUserVO;
import com.itlong.cloud.POJO.VO.operate.OperateUserManageVO;
import com.itlong.cloud.utils.page.Page;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      运营-APP用户-用户管理接口。
 * <desc/>
 *
 * @createDate 2017/9/20.
 */
public interface IOperateUserManageService {

     /**
      * <desc>
      *      根据用户ID获取用户信息。
      * <desc/>
      *
      * @param  userId  用户ID
      * @return
      * @author shengen.T
      * @createDate 2017/9/21
      */
    OperateUserManageVO getUserInfo(String userId);

    /**
     * <desc>
     *      获取分页数据
     * </desc>
     *
     * @param pageDTO
     * @return
     * @author 2017/09/21
     */
     Page<OperateUserManageVO> getPage(OperateUserManagePageDTO pageDTO) throws Exception;

    /**
     * <desc>
     *      设置用户的启用/禁用。
     * <desc/>
     *
     * @param  userId  //用户ID
     * @param  status  //用户状态
     * @return
     * @author shengen.T
     * @createDate 2017/9/21
     */
    boolean setUserStatus(String userId,Integer status) throws Exception;

    /**
     * <desc>
     *      根据查询条件查询按日/周/月/年的用户活跃度
     * </desc>
     *
     * @param timeFlag,searchTime
     * @return
     * @Author Zhu.yj
     * @createDate  2019/10/31
     */
    OperateActiveUserVO getActiveUser(String timeFlag, String searchTime,String userId) throws Exception;

    /**
     * <desc>
     *      查询注册用户量
     * </desc>
     *
     * @param
     * @return
     * @Author Zhu.yj
     * @createDate  2019/11/1
     */
    String getPageCount() throws Exception;
}
